<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>类声明</title>
  </head>
  <body>
    <script>
      // 手机 ES5构造函数
      /*       function Phone(brand, price) {
        this.brand = brand;
        this.price = price;
      }

      // 添加方法
      Phone.prototype.call = function () {
        console.log("我可以打电话");
      };

      // 实例化对象
      let Huawei = new Phone("华为", 4999);
      console.log(Huawei);
      Huawei.call(); */

      // ES6 类声明
      class Phone {
        // 构造方法 名字固定,当使用new 类名时自动执行
        constructor(brand, price) {
          this.brand = brand;
          this.price = price;
        }
        // 方法必须使用该语法,不能使用ES5对象完整语法
        call() {
          // 方法挂载于原型上
          console.log("可以打电话");
        }
      }

      let xiaomi = new Phone("小米", 1999);
      console.log(xiaomi);
      xiaomi.call();
    </script>
  </body>
</html>
